1. Technical Field of the Invention
The present invention relates generally to the data transmission field; and, more particularly, to a method and apparatus for time-aligning first and second digital signals.
2. Description of Related Art
The effective transmission of digital data requires that the data be encoded in such a manner that a pulse that is at a logic state 1 and a pulse that is at a logic state 0 can be reliably detected and distinguished from one another. One type of encoding that is often used in optical communications systems is known as Non-Return-to-Zero (NRZ) encoding. In NRZ encoding, data is encoded in an optical signal in a manner that logic state 1 and logic state 0 are represented by different light intensity levels, each of which are constant during a bit duration. A high light intensity level during a bit duration represents logic state 1 and a low light intensity level during a bit duration represents logic state 0. NRZ encoding is desirable in many optical applications because it provides an efficient use of system bandwidth.
An NRZ encoded optical signal, however, is not always fully satisfactory. For example, when NRZ encoded optical signals are transmitted through an optical fiber, signal degradation can occur as a result of a spreading out of the light pulses, particularly when the optical fiber is long. As a result, it has become a common practice in the optical data transmission field to convert digital data encoded in an NRZ signal format to data encoded in a Return-to-Zero (RZ) signal format prior to transmitting the data through an optical fiber or for other purposes.
In an RZ encoded optical signal, logic state 1 is represented by a pulse that increases from zero to a maximum intensity during the first half of a bit duration and returns to zero during the second half of the bit duration. Logic state 0 is represented by the absence of a pulse during an entire bit duration. An RZ encoded optical signal is often more effective in transmitting data through long lengths of optical fiber or other optical transmission paths, as well as in other applications.
FIG. 1, is a block diagram that schematically illustrates a known apparatus for converting a data signal in which data is encoded in an NRZ signal format to a data signal in which the data is encoded in an RZ signal format. The apparatus is generally designated by reference number 100 and includes an NRZ data generator 110 that provides an NRZ encoded data signal, such as the exemplary NRZ encoded data signal 120, at an output thereof. As shown in FIG. 1, the NRZ encoded data signal 120 comprises a waveform that is high when the logic state is 1 and is low when the logic state is 0. Data is encoded in the signal 120 as a stream of data bits of predetermined bit duration. Thus, exemplary NRZ encoded data signal 120 includes a data portion 122 in which the signal is at logic state 1 for one bit duration, a data portion 124 in which the signal is at logic state 0 for one bit duration, and a data portion 126 in which the signal is at logic state 1 for two bit durations. The data signal 120 illustrated in FIG. 1 thus represents the binary data pattern “1011”.
Apparatus 100 also includes an RZ pulse generator 130 that generates a signal 140 comprised of a stream of RZ pulses. In FIG. 1, the RZ pulse signal 140 includes four RZ pulses 142, 144, 146 and 148. Signal 140 has a predetermined frequency that corresponds to the data rate of the data signal 120, i.e., an RZ pulse is generated corresponding to each bit duration of NRZ encoded data signal 120.
The NRZ encoded data signal 120 and the RZ pulse signal 140 are each fed to a data modulator 150. Data modulator 150 multiplies the RZ pulse signal 140 by the NRZ encoded data signal 120, and outputs an RZ encoded data signal 160 that encodes the same data that is encoded in the NRZ encoded data signal. In effect, data modulator 150 allows RZ pulses of the RZ pulse signal 140 to pass through when the NRZ encoded data signal is at logic state 1, and prevents RZ pulses of the RZ pulse signal 140 from passing through when the NRZ encoded data signal is at logic state 0. Thus, in FIG. 1, RZ pulses 142, 146 and 148 pass through the modulator and RZ pulse 144 is prevented from passing through the modulator. The RZ encoded data signal 160 may then be transmitted through an optical fiber or other transmission medium or utilized in another application.
Proper operation of apparatus 100 depends on having a correct time alignment between the NRZ encoded data signal 120 and the RZ pulse signal 140. If the two signals are not in correct time-alignment, the quality of the RZ encoded data signal 160 is disturbed. This can be understood with reference to FIGS. 2 and 3 that schematically illustrate correct and anti-correct time alignments, respectively, between NRZ encoded data signal 120 and RZ pulse signal 140, and the RZ encoded data signals 160 that result from the correct and anti-correct time alignments.
In FIG. 2, RZ pulse signal 140 is precisely time-aligned with NRZ encoded data signal 120. In particular, RZ pulse 142 is precisely time-aligned with data signal portion 122 of NRZ encoded data signal, RZ pulse 144 is precisely time-aligned with data signal portion 124, and RZ pulses 146 and 148 are precisely time-aligned with the first and second halves of data signal portion 126. Because the signals 120 and 140 are in proper time alignment, the modulator 150 (FIG. 1) allows RZ pulses 142, 146 and 148 to pass through since those pulses are aligned with NRZ encoded data signal portions 122 and 126 that are at logic state 1. However, the modulator 150 will not allow RZ pulse 144 to pass through because that pulse is aligned with NRZ encoded data signal portion 124 that is at logic state 0. As a result, RZ encoded data signal 160 is generated that includes RZ pulses 142, 146 and 148, but no pulse corresponding to RZ pulse 144. RZ encoded data signal 160, therefore, also represents the binary data pattern “1011”.
In FIG. 3, the NRZ encoded data signal 120 and the RZ pulse signal 140 are in anti-correct time-alignment, i.e., the signals are misaligned to a maximum extent. Thus, in FIG. 3, RZ pulse 142 is aligned with the transition between an NRZ signal portion at logic state 0 and signal portion 122 at logic state 1, RZ pulse 144 is aligned with the transition between signal pulses 122 and 124, and RZ pulse 146 is aligned with the transition between signal portions 124 and 126. RZ pulse 148, is time-aligned between the first and second halves of NRZ signal portion 126. As is apparent from FIG. 3, because RZ pulses 142, 144 and 146 are only partially aligned with NRZ encoded data signal portions at logic state 1, only portions of RZ pulses 142, 144 and 146 are passed by the modulator 150, resulting in pulses 162, 164 and 166 of reduced level. Although RZ pulse 148 is aligned between the first and second halves of NRZ encoded data signal portion 126; both halves are at logic state 1 resulting in pulse 148 being fully passed by modulator 150.
Because of the anti-correct time alignment between signals 120 and 140, RZ encoded data signal 160, as a whole, is degraded. If the signals 120 and 140 are incorrectly time-aligned to a lesser extent than illustrated in FIG. 3; the quality of RZ encoded data signal 160 will still be degraded, although to a lesser extent.
Referring back to FIG. 1, correct time alignment between the NRZ encoded data signal 120 and the RZ pulse signal 140 is established and maintained by a clock oscillator 170 that functions as a master clock for both the data modulator 150 and the RZ pulse generator 130. More particularly, clock oscillator 170 provides a Clock 1 signal for clocking the RZ pulse generator 130 and a Clock 2 signal for clocking the data modulator 150. Clock 1 signal and Clock 2 signal are at the same frequency inasmuch as they originate from the same clock oscillator 170; however, a time delay is established between the signals by controllable delay generator 180 positioned between the clock oscillator 170 and the RZ pulse generator 130. The controllable delay generator 180 is operable to adjust the timing of the RZ pulse generator 130 so that the RZ pulse signal generated thereby will be in correct time alignment with the NRZ encoded data signal.
It is a relatively straightforward process for a human operator to observe correct and anti-correct states on a suitable time-domain display instrument such an oscilloscope. It is also relatively straightforward to adjust the time delay introduced by the time delay oscillator to provide a correct time alignment. For example, in a conventional time-alignment procedure, an operator adjusts the timing between the NRZ encoded data signal and the RZ pulse signal while viewing the alignment state on the oscilloscope. When an anti-correct state is noted, the delay is then swept through the correct state to the next anti-correct state. The delay is then returned to a point halfway between the two anti-correct states, resulting in the signals being correctly time-aligned.
The above-described conventional procedure for time-aligning the signals requires human intervention; and, accordingly, is not suitable for automated procedures. Also, in some applications, observation of the signals in the time-domain is not feasible such that manual alignment is not possible. Therefore, there is a need for a method and apparatus for accurately time-aligning an NRZ encoded data signal and an RZ pulse signal in a fully automated manner that does not require human intervention.